package com.xjgc.msibase.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjgc.msibase.constant.Constant;
import com.xjgc.msibase.entity.MsiExoServer;
import com.xjgc.msibase.entity.MsiExoServerRecord;
import com.xjgc.msibase.entity.MsiExoTask;
import com.xjgc.msibase.entity.MsiExoTaskRecord;
import com.xjgc.msibase.vo.MsiExoSystemServerVO;
import org.jeecg.common.api.vo.Result;
import org.springframework.scheduling.annotation.Async;

/**
 * 外围服务接口
 *
 * @Description: 外围服务接口
 * @Author: 小逗号
 * @Date: 2023-10-30
 * @Version: V1.0
 */
public interface IMsiExoServerService extends IService<MsiExoServer> {
    /**
     * 分页查询-外围系统服务
     *
     * @param page
     * @param queryAo
     * @return
     */
    IPage<MsiExoSystemServerVO> querySystemServerPage(IPage<MsiExoSystemServerVO> page, MsiExoSystemServerVO queryAo);

    /**
     * 新增外围服务
     *
     * @param addAo
     * @return
     */
    Result<?> addServer(MsiExoSystemServerVO addAo);

    /**
     * 对外任务触发 请求外部接口
     *
     * @param exoServer
     * @param taskRecord
     * @param data
     * @return
     */
    //@Async(Constant.ASYNC_FF)
    @Async
    void request(MsiExoServer exoServer,MsiExoTaskRecord taskRecord, String data);
}
